package io.github.talelin.latticy.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.talelin.latticy.common.enumeration.DistanceUnitEnum;
import io.github.talelin.latticy.common.enumeration.InboundOrderBoxModelEnum;
import io.github.talelin.latticy.common.enumeration.MassUnitEnum;
import io.github.talelin.latticy.model.ReceivingRecordItemsDO;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @authoer:wulongbo
 * @createDate:2022/7/21
 * @description:
 */
@Data
public class ReceivingPackageVO {

    private Integer id;

    /**
     * 所属仓库code
     */
    private String warehouseCode;

    /**
     * 入库单编号
     */
    private String inboundOrderNo;

    /**
     * 箱号
     */
    private String packageNo;

    /**
     * 箱子型号(1.大 2.中 3.小 4.特大)
     */
    private InboundOrderBoxModelEnum boxModel;

    /**
     * 尺寸单位类型(1.cm 2.in)
     */
    private DistanceUnitEnum distanceUnit;

    /**
     * 重量单位类型(1.kg 2.lb/oz)
     */
    private MassUnitEnum massUnit;

    /**
     * 本次收货数量
     */
    private Integer receiveNum;

    /**
     * 产品重量
     */
    private BigDecimal weight;


    /**
     * 产品长
     */
    private BigDecimal length;

    /**
     * 产品宽
     */
    private BigDecimal width;

    /**
     * 产品高
     */
    private BigDecimal height;


    /**
     * 标品数
     */
    private Integer specimen;

    /**
     * 破损数
     */
    private Integer damaged;

    /**
     * 是否虚拟箱
     */
    private Boolean isFictitious;

    /**
     * 揽收时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receivedTime;

    private Date createTime;

    private Date updateTime;

    /**
     * 经办人
     */
    private String receivedBy;

    private List<ReceivingRecordItemsDO> recordItems;
}
